layui.extend({
    baseConfig : "/js/pages/baseConfig"
})
layui.use(['form','layer','jquery','baseConfig'],function(){
    var form = layui.form,
        layer = parent.layer === undefined ? layui.layer : top.layer,
        $ = layui.jquery,
        baseConfig = layui.baseConfig;

    console.log("子页面初始化");
    console.log("父窗口全局对象:", window.parent.globalTableObj);
    console.log("父窗口全局表格实例:", window.parent.globalTableIns);
    console.log("父窗口刷新方法:", typeof window.parent.refreshTable);

    // 获取URL参数
    function getUrlParam(name) {
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
        var r = window.location.search.substr(1).match(reg);
        if (r != null) return unescape(r[2]); return null;
    }
    
    // 初始化页面
    function initPage() {
        var id = getUrlParam("id");
        if(id) {
            $("#registerId").val(id);
            // 加载公司列表
            loadCompanyList();
        } else {
            layer.msg("获取注册信息ID失败", {icon: 5});
        }
    }
    
    // 加载公司列表
    function loadCompanyList() {
        $.ajax({
            url: "/userAdmin/list/?page=1&limit=1000",
            type: "GET",
            dataType: "json",
            success: function(res) {
                if(res.code == 200) {
                    var companies = res.data;
                    var html = '<option value="">请选择公司</option>';
                    for(var i = 0; i < companies.length; i++) {
                        var company = companies[i];
                        // 使用nom作为公司名称，如果nom为空则使用jobNumber
                        var displayName = company.nom ? company.nom : company.jobNumber;
                        html += '<option value="' + company.id + '">' + displayName + '</option>';
                    }
                    $("#companySelect").html(html);
                    form.render('select');
                } else {
                    layer.msg("获取公司列表失败：" + res.msg, {icon: 5});
                }
            },
            error: function() {
                layer.msg("获取公司列表请求失败", {icon: 5});
            }
        });
    }
    
    // 强制刷新父页面表格
    function forceRefreshParentTable() {
        try {
            console.log("使用URL重定向方式强制刷新父页面");
            
            // 获取当前父页面URL
            var parentUrl = parent.window.location.href;
            
            // 检查URL是否已经有参数
            var refreshParam = "refresh=" + new Date().getTime();
            
            if(parentUrl.indexOf('?') > -1) {
                // 已有参数，添加刷新参数
                if(parentUrl.indexOf('refresh=') > -1) {
                    // 如果已经有refresh参数，替换它
                    parentUrl = parentUrl.replace(/refresh=\d+/, refreshParam);
                } else {
                    // 添加刷新参数
                    parentUrl += "&" + refreshParam;
                }
            } else {
                // 没有参数，添加刷新参数
                parentUrl += "?" + refreshParam;
            }
            
            console.log("重定向到:", parentUrl);
            // 设置父页面URL，强制刷新
            parent.window.location.href = parentUrl;
            
            return true;
        } catch(e) {
            console.error("强制刷新父页面失败:", e);
            return false;
        }
    }
    
    // 绑定公司提交
    form.on('submit(bindCompany)', function(data) {
        var loading = layer.load();
        $.ajax({
            url: "/registerInfo/update",
            type: "POST",
            data: {
                id: data.field.id,
                companyId: data.field.companyId
            },
            dataType: "json",
            success: function(res) {
                layer.close(loading);
                if(res.code == 200) {
                    layer.msg("绑定成功", {icon: 6});
                    
                    // 获取弹窗索引
                    var index = parent.layer.getFrameIndex(window.name);
                    
                    // 延时关闭弹窗并刷新表格
                    setTimeout(function() {
                        // 关闭弹窗
                        parent.layer.close(index);
                        
                        // 强制刷新父页面表格
                        forceRefreshParentTable();
                    }, 800);
                } else {
                    layer.msg("绑定失败：" + res.msg, {icon: 5});
                }
            },
            error: function() {
                layer.close(loading);
                layer.msg("提交请求失败", {icon: 5});
            }
        });
        return false; // 阻止表单跳转
    });
    
    // 初始化页面
    initPage();
}); 